Facilitating editing of virtual-reality content using a virtual-reality headset

ABSTRACT

The present disclosure is directed toward systems and methods that enable simultaneous viewing and editing of audio-visual content within a virtual-reality environment (i.e., while wearing a virtual-reality device). For example, the virtual-reality editing system allows for editing of audio-visual content while viewing the audio-visual content via a virtual-reality device. In particular, the virtual-reality editing system provides an editing interface over a display of audio-visual content provided via a virtual-reality device (e.g., a virtual-reality headset) that allows for editing of the audio-visual content.

BACKGROUND

Recent years have seen rapid development in the area of digital cameradevices, particularly digital cameras capable of capturing spherical or360-degree audio-visual media. Indeed, consumers now have access to avariety of cameras and 360-degree audio-visual content viewing devicesthat enables users to capture and view 360-degree audio-visual content.For example, with virtual-reality devices (e.g., virtual-realityheadsets), users can immerse themselves in a virtual-reality environmentthat provides an enhanced viewing experience.

Although virtual-reality devices provide an immersive environment forviewing 360-degree audio-visual content, 360-degree audio-visual contentintroduces a variety of problems when producing and editing theaudio-visual content. For example, conventional editing systemsgenerally provide a distorted (e.g., warped) display of the 360-degreeaudio-visual content converted via a two-dimensional (2D) display. As aresult, users can find it difficult to effectively edit 360-degreeaudio-visual content using conventional editing systems.

Some conventional editing systems enable users to previewvirtual-reality content by wearing a virtual-reality device. Forinstance, such conventional editing systems enable users to edit360-degree audio-visual content by interacting with the 2D display. Uponediting the 360-degree audio-visual content, users can preview orotherwise view the edits via the virtual-reality device. However,switching back and forth between the 2D display and virtual-realitydisplay is often time consuming and frustrating. In addition, due to thedramatic difference between a virtual-reality display and a converted 2Ddisplay, editing 360-degree audio-visual content often requires numerousiterations to arrive at a finished product. As a result, editing360-degree audio-visual content can be frustrating even for experiencededitors.

SUMMARY

Embodiments of the present disclosure provide benefits and/or solve oneor more of the foregoing and other problems in the art with systems andmethods for facilitating editing of virtual-reality content whileviewing the content via a virtual-reality device. In particular, thedisclosed systems and methods provide an editing interface and editingtools that facilitate editing of virtual-reality content over a view ofthe content provided via the virtual-reality device. The editinginterface includes controls that facilitate modifying the display of thevirtual-reality content. Upon receiving a confirmation of one or moreedits to perform to the virtual-reality content, the systems and methodsgenerate revised virtual-reality content. Thus, in one or moreembodiments, the systems and methods described herein enable a user tosimultaneously view and edit virtual-reality content while wearing avirtual-reality device.

Additional features and advantages will be set forth in the descriptionwhich follows, and in part will be obvious from the description, or maybe learned by the practice of such exemplary embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments will be described and explained with additionalspecificity and detail through the use of the accompanying drawings inwhich:

FIG. 1 illustrates a block diagram of an exemplary environment in whicha virtual-reality editing system can be implemented in accordance withone or more embodiments;

FIGS. 2A-2B illustrate a representation of a display of avirtual-reality video based on movement of a virtual-reality device inaccordance with one or more embodiments;

FIG. 3 illustrates an example editing interface provided over a displayof virtual-reality content within a virtual-reality environment inaccordance with one or more embodiments;

FIG. 4A-4C illustrates an example interface for aligning clips of avirtual-reality video in accordance with one or more embodiments;

FIGS. 5A-5C illustrates an example interface for narrowing a field ofview of a virtual-reality video during scrubbing in accordance with oneor more embodiments;

FIGS. 6A-6B illustrate an example interface for modifying a graphicplaced over a display of the virtual-reality content in accordance withone or more embodiments;

FIGS. 7A-7C illustrate an example interface for adding bookmarks tovirtual-reality content in accordance with one or more embodiments;

FIGS. 8A-8B illustrate an example interface for detecting an orientationof a field of view of virtual-reality content within a virtual-realityenvironment in accordance with one or more embodiments;

FIG. 9 illustrates a block diagram of an example computing deviceincluding a virtual-reality editing system implemented thereon inaccordance with one or more embodiments;

FIG. 10 illustrates a flowchart of a series of acts in a method forimplementing and previewing edits to virtual-reality content inaccordance with one or more embodiments;

FIG. 11 illustrates a series of acts for performing a step formanipulating the display of a virtual-reality content item in responseto a selection of a control in accordance with one or more embodiments;

FIG. 12 illustrates another series of acts for performing a step formanipulating the display of a virtual-reality content item in responseto a selection of a control in accordance with one or more embodiments;and

FIG. 13 illustrates a block diagram of an example computing device inaccordance with one or more embodiments.

DETAILED DESCRIPTION

One or more embodiments of the present disclosure include avirtual-reality editing system that enables simultaneous viewing andediting of virtual-reality content within a virtual-reality environment(i.e., while wearing a virtual-reality device). For example, thevirtual-reality editing system allows a user to edit audio-visualcontent while viewing the audio-visual content via a virtual-realitydevice. In particular, the virtual-reality editing system provides anediting interface over a display of audio-visual content provided via avirtual-reality device (e.g., a virtual-reality headset).

The virtual-reality editing system provides an editing interfaceincludes controls for implementing and previewing edits. In one or moreembodiments, the editing interface includes one or more controls thatenable inserting, cutting, and/or aligning of different sections ofvirtual-reality content. In particular, as will be described in furtherdetail below, the editing interface include controls for selectivelyadding or removing clips of a virtual-reality video. In addition, thevirtual-reality editing system allows for a section of the video torotate (e.g., horizontally rotate) relative to another section of thevideo. In this way, the virtual-reality editing system enables alignmentof sequential segments of virtual-reality content to ensure interestingor exciting portions of the virtual-reality content occur within thefield of view of the viewer rather than to the side or behind the viewerwithin the virtual-reality display.

As another example, in one or more embodiments, the virtual-realityediting system provides one or more controls that reduce potentialmotion sickness for a user (e.g., an editor or viewer) of avirtual-reality device. For instance, the virtual-reality editing systemcontrol the field of view of shaky scenes when scrolling (e.g.,scrubbing) through virtual-reality content. For example, thevirtual-reality editing system can cause a field of view to contract(e.g., narrow) in response to detecting that the user is scrollingthrough the virtual-reality content. In this way, the virtual-realityediting system enables a user to quickly scroll through and interactwith the display of the virtual-reality video without inadvertentlycausing motion sickness due to sudden movements or moving objects on thedisplay.

As another example, in one or more embodiments, the virtual-realityediting system allows for the addition of comments or graphics tovirtual-reality content while viewing the display of the virtual-realityvideo. In particular, the virtual-reality editing system providescontrols that enable an editor wearing the virtual-reality device toplace and move a graphic within the display of the virtual-realitycontent while wearing the virtual-reality device. In this way, theeditor can immediately see how the graphic appears within the display ofthe virtual-reality content.

As yet another example, in one or more embodiments, the virtual-realityediting system allows for the addition of bookmarks to virtual-realitycontent. In particular, in one or more embodiments, the virtual-realityediting system enables selection of a position within thevirtual-reality content (e.g., a time and a rotational position) as abookmark. The virtual-reality editing system, upon selection of abookmark, skips to the specific time and rotational position associatedwith the bookmark. Thus, the virtual-reality editing system allows forimmediate navigation to a specific time and rotational position ofvirtual-reality content without requiring manually scrolling through thevirtual-reality content.

Moreover, in one or more embodiments, the virtual-reality editing systemprovides controls that provide a top-down 360-degree view of any point(e.g., video frame) of the virtual-reality content. The top-down view ofthe virtual-reality video provides a visualization of all horizontalperspectives of virtual-reality content and enables a user to moreeasily locate interesting content within the virtual-reality display.This top-down 360-degree view facilitates convenient editing of thevirtual-reality video by enabling quick identification of perspectivesof the display that would be most interesting. For example, in one ormore embodiments, the virtual-reality editing system provides thetop-down view in connection with one or more rotational alignmentcontrols to enable alignment of adjacent clips or sections ofvirtual-reality content.

The virtual-reality editing system provides a number of advantages overexisting systems for editing virtual-reality content. For example, byproviding an editing interface in conjunction with a display of avirtual-reality content via a virtual-reality device, thevirtual-reality editing system enables simultaneous editing andpreviewing of virtual-reality content. Thus, the virtual-reality editingsystem prevents requiring users to switch back and forth between thevirtual-reality display and a converted 2D display of thevirtual-reality content.

As used here in “virtual-reality content” refers to digital content thatincludes an enlarged field of view. As an example, in one or moreembodiments, virtual-reality content refers to an image or a video thatincludes a field of view that extends beyond 180 degrees (i.e., thetypical field of view of a pair of human eyes). In one or moreembodiments, virtual-reality content includes 360-degree audio-visualcontent or in other words content with 360 degrees of a horizontal fieldof view. Virtual-reality content items can include a digital image,video, website, webpage, user interface, menu item tool menu, magazine,slideshow, animation, social post, comment, blog, data feed, audio,advertisement, vector graphic, bitmap, document, any combination of oneor more of the foregoing, or other electronic content.

One example of virtual-reality content is a “virtual-reality video.” Asused herein, “virtual-reality video” refers to a spherical panoramavideo that portrays greater than 180 degrees of a horizontal field ofview and at least 180 degrees of a vertical field of view. For instance,a virtual-reality video includes a panorama video captured by a digitalcamera that portrays a representation of content in front of, behind,and to the sides of the digital camera. Alternatively, in one or moreembodiments, a virtual-reality video refers to a set of multiple videos(e.g., captured by one or multiple digital cameras) that are stitchedtogether to provide an enlarged field of view. Additionally, while oneor more embodiments described herein relate specifically to editing andpreviewing virtual-reality videos, features and functionalitiesdescribed herein with regard to editing and previewing virtual-realityvideos can similarly apply to other types of virtual-reality content(e.g., spherical panorama digital images).

As used herein a “virtual-reality display” or “display within avirtual-reality environment” refers to displaying virtual-realitycontent via a virtual-reality device. In other words, “virtual-realitydisplay” or “display within a virtual-reality environment” refers to athree-dimensional display of virtual-reality content rather than atwo-dimensional display of virtual-reality content. For example, avirtual-reality display includes both a portion of the virtual-realitycontent within an immediate field of view (e.g., a displayed portion)and any portion of the virtual-reality content outside the immediatefield of view (e.g., a peripheral portion). In other words, avirtual-reality display includes both portions that are currentlyvisible and in front of the user as well as those portions of thevirtual-reality content to the side and behind the user that are notcurrently within the field of view provided by the virtual-realitydevice.

Additional detail will now be provided regarding the virtual-realityediting system in relation to illustrative figures portraying exemplaryembodiments. In particular, FIG. 1 illustrates a virtual-reality editingenvironment 100 including a client device 102 and virtual-reality device104 (e.g., a virtual-reality headset) that enables a user 106 tosimultaneously view and modify virtual-reality content in avirtual-reality environment. As shown in FIG. 1, the client device 102includes a virtual-reality editing system 108 implemented thereon. Ingeneral, the client device 102 and virtual-reality device 104 enable theuser 106 to modify virtual-reality content and preview modifications tothe virtual-reality content by selecting various controls of an editinginterface displayed over a portion of a display of the virtual-realitycontent by the virtual-reality device 104.

As shown in FIG. 1, the virtual-reality editing environment 100 includesa virtual-reality device 104 that provides a display of avirtual-reality content within a virtual-reality environment. Alongsimilar lines, the client device 102 can provide a conventional 2Ddisplay of the virtual-reality content via a display screen. Forexample, FIG. 1 illustrates two views 110 a, 110 b of the same framefrom a virtual-reality video. In particular, the virtual-reality device104 device provides a virtual-reality display 110 a of the frame, whilethe computing device provides a conventional warped 2D display 110 b ofthe frame.

As shown, the virtual-reality display 110 a of the frame looks verydifferent than the warped 2D display 110 b of the frame. In particular,when viewing only the warped 2D display 110 b of the frame, it can bedifficult to appreciate various features of the frame. Furthermore, dueto the warped horizon and other warped features of the warped 2D display110 b of the frame, viewing the warped 2D display 110 b of the frame isa dramatically different experience than viewing the virtual-realitydisplay 110 a of the frame.

In one or more embodiments, the virtual-reality device 104 refers to aninertial measurement device that generates a digital, three-dimensionalrepresentation of a three-dimensional space. In one or more embodiments,the virtual-reality device 104 includes a computing device (e.g., aheadset or head-mounted display) that generates a three-dimensional viewof a virtual environment that simulates a user's physical presencethrough a generated sensory experience.

Alternatively, in one or more embodiments, the virtual-reality device104 includes a wearable device that converts a two-dimensional versionof a virtual-reality content to a virtual-reality display when worn bythe user 106. As an example, a virtual-reality device 104 can include alow-cost wearable headset (e.g., cardboard virtual-reality headset)coupled to or positioned relative to a display of the client device 102(e.g., a mobile device) that provides a virtual-reality display of thevirtual-reality video to the user 106 by filtering a two-dimensionaldisplay of the virtual-reality content.

The client device 102 can refer to any electronic device (e.g., userdevice) that facilitates providing a display of a virtual-reality videoto the user 106. Examples of client devices can include, but are notlimited to, mobile devices (e.g., smartphones, tablets, smart watches),laptops, desktops, or other type of computing device, such as thosedescribed below in connection with FIG. 13. Additionally, one or morefeatures or functionalities described herein with regard to thevirtual-reality editing system 108 can be implemented by the clientdevice 102, the virtual-reality device 104, or a combination of multipledevices.

As mentioned above, the virtual-reality editing system 108 can provide adisplay of a virtual-reality video via the virtual-reality device 104.In particular, as shown in FIGS. 2A-2B, the virtual-reality editingsystem 108 provides a virtual-reality display 202 via thevirtual-reality headset 104. The virtual-reality display 202 includes a360-degree representation of a virtual-reality video including adisplayed portion and peripheral portion of the video content. Thus, inone or more embodiments, providing the virtual-reality display includesproviding both the displayed portion and peripheral portion of the videocontent to the user 106 via the virtual-reality device 104.

As used herein, the “displayed portion” refers to viewable content ofthe virtual-reality video within an immediate field of view provided bythe virtual-reality device 104. For example, the displayed portion canrefer to any content directly in front and/or within a defined field ofview provided by the virtual-reality device 104. Further, as usedherein, the “peripheral portion” refers to content of thevirtual-reality video outside the direct field of view provided by thevirtual-reality device 104. For example, the peripheral portion canrefer to any content to the side or behind the field of view (e.g., anycontent that is not part of the displayed portion).

During use of the virtual-reality device 104, the virtual-realityediting system 108 provides a different displayed portion and peripheralportion of the virtual-reality video based on movement of thevirtual-reality device 104. For example, FIG. 2A illustrates a firstdisplayed portion 204 a of the virtual-reality display 202 correspondingto a first orientation 204 a of the virtual-reality device 104. Further,FIG. 2B illustrates a second displayed portion 203 b of thevirtual-reality display 202 corresponding to a second orientation 204 bof the virtual-reality device 104. In one or more embodiments, thedisplayed portions 203 a-b of the virtual-reality display 202 representdifferent displayed portions 203 a-b based on a horizontal rotation ofthe virtual-reality device 104 from the first orientation 204 a to thesecond orientation 204 b.

Thus, as shown in FIGS. 2A-2B, movement of the virtual-reality device104 from the first orientation 204 a to the second orientation 204 b(e.g., left to right) causes a car in the video frame to move from theright side of the first displayed portion 203 a to the left side of thesecond displayed portion 203 b. In addition, in both FIGS. 2A and 2B,the virtual-reality display 202 includes portions of the car in both thedisplayed portion and the peripheral portion. For example, in FIG. 2A,the front part of the car lies within the first displayed portion 203 awhile the back part of the car lies in the peripheral portion. Incontrast, in FIG. 2B, the front part of the car lies in the peripheralportion while the back part of the car lies within the second displayedportion 203 b.

As mentioned above, the virtual-reality editing system 108 provides anediting interface 302 over a portion of the display of thevirtual-reality video. For example, FIG. 3 illustrates a displayedportion of a virtual-reality display 202 and an editing interface 302displayed over the displayed portion. As shown in FIG. 3 (and as furthershown in FIGS. 4A-8B), the editing interface 302 includes a number ofcontrols for implementing and previewing edits to the virtual-realityvideo.

For example, the editing control interface 302 shown in FIG. 3 includesa control panel 308 of editing control icons 312 a-f representative of anumber of editing controls available for editing virtual-reality contentwhile wearing the virtual-reality device 104. Examples of the editingcontrol icons 312 a-f include a trim icon 310 a, a rotational alignmenticon 310 b, a vignetting icon 310 c, a graphic icon 310 d, a bookmarkicon 310 e, and a top view icon 310 f. As will be described in furtherdetail below, each of the editing control icons 310 a-f correspond todifferent controls for implementing and previewing edits to thevirtual-reality video within a virtual-reality environment. In one ormore embodiments, one or more of the editing control icons 310 a-f areselectable buttons that activate different editing controls and previewsdescribed herein. Alternatively, one or more of the editing controlicons 310 a-f simply serve to illustrate various features andfunctionality provided by the virtual-reality editing system 108.

In addition, as shown in FIG. 3, the editing control interface 302includes a scroll bar 304 and position icon 306 that enables scrollingor scrubbing through the virtual-reality video. For example, the user106 can select the position icon 306 to manually scrub through thevirtual-reality video at a speed corresponding to movement of theposition icon 306 relative to the length of the scroll bar 304. In oneor more embodiments, the virtual-reality display changes based on thecurrent position of the position icon 306 along the scroll bar 304 andin accordance with a direction of the virtual-reality device 104. Thus,in addition to selecting the position icon 306 and scrolling through thevirtual-reality video, the user 106 can also change a direction of thevirtual-reality device 104 (e.g., by moving the user's head) to furthermodify the virtual-reality display 202 while scrolling through thevirtual-reality video.

As further shown in FIG. 3, the virtual-reality editing system 108allows for movement of the position icon 306 along the scroll bar 304with respect to different layers of the virtual-reality video. Forexample, in one or more embodiments, the virtual-reality video includeslayers 312 a-c including a graphics layer 312 a, an audio layer 312 b,and a video layer 312 c that make up the virtual-reality content item(e.g., the virtual-reality video file). As shown in FIG. 3, therespective layers 312 a-c can include data associated with respectiveportions of the virtual-reality video. Further, in one or moreembodiments, the virtual-reality editing system 108 allows forinteraction with each of the respective layers shown in the editinginterface 302 thus causing the virtual-reality editing system 108 toinsert, cut, shift, or otherwise modify sections of respective layers ofthe virtual-reality video. In one or more embodiments, features andfunctionality described with respect to a particular layer 312 a-c cansimilarly apply to other types of layers 312 a-c. For example, one ormore principles for inserting, cutting, shifting, or otherwise modifyingthe video layer 312 c can similarly apply to the graphics layer 312 aand/or the audio layer 312 b.

As shown in FIG. 3, the graphics layer 312 a includes a graphicdisplayed within the virtual-reality display 202 toward the end of thevirtual-reality video. In one or more embodiments, the graphic isassociated with a particular location (e.g., time and direction) withinthe virtual-reality video and is displayed only if the virtual-realitydevice 104 is facing a direction that includes the graphic.Alternatively, in one or more embodiments, the virtual-reality editingsystem 108 displays the graphic at a fixed position within the displayedportion of the virtual-reality display 202 over the portion of thegraphic section indicated in the graphic layer 312 a. Additional detailwith regard to placing and modifying a graphic within thevirtual-reality display is described in further detail below inconnection with FIGS. 6A-6B.

As further shown in FIG. 3, the virtual-reality video includes an audiolayer 312 b. In particular, the audio layer 312 b includes a track ofaudio for the entire virtual-reality video. In one or more embodiments,the virtual-reality editing system 108 enables insertion of one or moreaudio tracks. In addition, in one or more embodiments, thevirtual-reality editing system 108 enables overlapping of a second audiotrack over a first audio track to produce an audio layer 312 b includingmultiple overlapping audio tracks. In addition, the virtual-realityediting system 108 allows for division of the audio track into multiplesections.

As shown in FIG. 3, the virtual-reality video further includes a videolayer 312 c. Similar to other layers, the virtual-reality video caninclude any number of sections (e.g., video clips) of the video layer312 c. As shown in FIG. 3, the video layer 312 c includes a first clip,second clip, and third clip. In one or more embodiments, each of theclips refer to adjacent or non-adjacent sections of the same video(e.g., the same video file). For example, in one or more embodiments,the first clip and second clip refer to two clips from the same video.Alternatively, in one or more embodiments, the clips refer to videoclips from different videos.

Also similar to other layers, the virtual-reality editing system 108allow for interaction with the editing interface 302 to shift, remove,insert, or otherwise modify each of the respective sections of the videolayer 312 c. For example, in response to user activation of the trimcontrol icon 310 a, the virtual-reality editing system 108 can activateediting controls that enable interaction with the video layer 312 c tomanipulate different video clips. In particular, in one or moreembodiments, the virtual-reality editing system 108 manipulates a videoclip in response to the user 106 selecting and dragging a front or backhandle of a video clip. In addition, in one or more embodiments, thevirtual-reality editing system 108 enables splitting of an individualsection (e.g., video clip) into multiple sections.

The virtual-reality editing system 108 can allows for interaction withthe editing interface 302 and virtual-reality display 202 using avariety of input methods. For example, in one or more embodiments, thevirtual-reality editing system 108 utilizes a conventional keyboard,mouse, mousepad, touchscreen, joystick, or other physical input device.For instance, the virtual-reality editing system 108 can detect movementof a cursor that appears over the displayed portion of thevirtual-reality display 202 and selection of one or more of the controlsof the editing interface 302 via user input. Alternatively, in one ormore embodiments, the virtual-reality device 104 enables modification ofthe virtual-reality display 202 and/or controls via forward, backward,side-to-side, or tilting motions of the virtual-reality device 104. Inone or more embodiments, the virtual-reality editing system 108 detectsmovement of the user's hands or other device to detect and processvarious user inputs.

In addition, as shown in FIG. 3, the editing interface 302 includes atwo-dimensional interface including controls displayed at a fixedlocation over the displayed portion of the virtual-reality display 202.For example, in one or more embodiments, the editing interface 302remains at a fixed position rather than moving relative to movement anddirection of the virtual-reality device 104. Notwithstanding the fixedposition of the editing interface 302, in one or more embodiments, thevirtual-reality editing system 108 causes movement of thevirtual-reality display 202 relative to movement of the virtual-realitydevice 104 in the background of the editing interface 302. Thus, asshown in FIG. 3, the display within the field of view provided by thevirtual-reality device includes both a changing background of thevirtual-reality display 202 and a fixed editing interface 302 includingthe controls that enable the user 106 to implement and preview edits tothe virtual-reality video.

Some or all of the editing interface 302 can be relocated (e.g., inresponse to a directional user input) to overlap any part of thedisplayed portion of the virtual-reality display 202. In addition, theediting interface 302 can include a flat rectangular display or,alternatively, partially bend in accordance with the curvature of the360-degree virtual-reality display 202. Moreover, in one or moreembodiments, the editing interface 302 is partially opaque so as toenable the user 106 to view the overlapping displayed portion of thevirtual-reality display 202 behind the partially opaque editinginterface 302. Alternatively, in one or more embodiments, the editinginterface 302 includes a solid display that completely blocks a portionof the virtual-reality display 202.

As mentioned above, the editing interface includes one or morerotational controls that rotate one or more sections (e.g., video clips)of the virtual-reality video in response to receiving user input withrespect to the editing interface 302. In particular, the virtual-realityediting system 108 enables a user 104 to identify edits to differentsections (e.g., adjacent video clips) that avoid awkward jumps in thevirtual-reality video when a virtual-reality display 202 transitionsfrom a first section/clip to a second section/clip. For example,virtual-reality videos that include multiple clips often causedisorientation for the user 104, particularly where interesting contentoccurs at different perspectives in the different video clips. Inparticular, users often become disoriented when interesting contentoccurs within a displayed portion of the virtual-reality display 202 fora first video clip, but occurs within the peripheral portion of thevirtual-reality display 202 for a second video clip (e.g., aftertransitioning from the first video clip to the second video clip).

As such, the virtual-reality editing system 108 enables selectiverotation of discrete sections of the virtual-reality video to avoiddisorientation caused by unexpected jumps between different sections ofa virtual-reality video. For example, FIGS. 4A-4C illustrate an exampleembodiment of controls for rotating a first clip of the virtual-realityvideo and a second clip of the virtual-reality video at a transitionfrom the first clip to the second clip. In particular, upon detecting auser selection of the rotational alignment icon 310 b, thevirtual-reality editing system 108 provides an alignment preview 402including video frames from a first video clip and second video clip.For example, as shown in FIG. 4A, the virtual-reality editing system 108provides the alignment preview 402 including the last frame of a firstvideo clip and the first frame of a second video clip. As further shown,the position icon 306 of the scroll bar 304 is positioned at abreak/transition point 404 between the first video clip and the secondvideo clip.

As shown in FIG. 4A, the alignment preview 402 includes a first clippreview 406 a and a second clip preview 406 b. Each of the clip previews406 a-b include a representation of a frame of the respective videoclips. For example, the first clip preview 406 a includes a sphericalpanorama image representative of the last frame of the first video clip.The second clip preview 406 b includes a spherical panorama imagerepresentative of the first frame of the second video clip. In otherwords, the first clip preview 406 a and the second clip preview 406 brepresent two adjacent frames of video clips of the video layer 312 c ofthe virtual-reality video.

As further shown in FIG. 4A, the first clip preview 406 a and the secondclip preview 406 b include a display preview 408 representative of thedisplayed portion of the virtual-reality display 202 and a peripheralpreview 410 representative of the peripheral portion of thevirtual-reality display 202. As shown in FIG. 4A, the peripheral preview410 of the clip previews 406 a-b is grayed out to visually indicateportions of the clip previews 406 a-b that correspond to the displayedportion and peripheral portion of the virtual-reality display 202 (inaccordance with a current direction of the virtual-reality device 104).

In one or more embodiments, the video clips have an initial or defaultorientation. For example, in one or more embodiments, thevirtual-reality editing system 108 orients the first clip and the secondclip such that a true north of each clip aligns. As used herein, “truenorth” of a virtual-reality video or video clip refers to a referencedirection of a virtual-reality video or individual video clip. Forexample, the true north of a virtual-reality video may refer to adefault direction when the virtual-reality video is initially recorded.As another example, the true north of a virtual-reality video may referto an initial direction within the virtual-reality video display 202 ofone or more detected objects. Alternatively, in one or more embodiments,the true north refers to a direction manually identified by a user(e.g., creator).

As a result of the default orientations for each of the video clips, thefirst video clip and second video clip may have content occurring atdifferent positions along the 360-degree orientation of the respectivevideo clips. For example, as shown in FIG. 4A, the first video clip hasa skier in motion between the display preview 408 and the perspectivepreview 410 to the right of the display preview 408. In contrast, thesecond video clip has a skier in the perspective preview 410 to the leftof the display preview.

In one or more embodiments, the control interface 302 includes a cursoricon 412 that enables the user 104 to view a correspondingvirtual-reality display 202 of whichever clip preview 406 a-b isselected. In particular, as shown in FIG. 4B, the virtual-realitydisplay 202 corresponds to the video clip over which the cursor icon 412is positioned. For example, in one or more embodiments, thevirtual-reality editing system 108 causes the virtual-reality device 104to provide the virtual-reality display 202 of the first clip (e.g., theframe of the first clip) in response to detecting that the cursor icon412 is positioned over the first clip preview 406 a. As furtherillustrated in FIG. 4C, the virtual-reality editing system 108 can causethe virtual-reality device to provide the virtual-reality display 202 ofthe second clip (e.g., the frame of the first clip) upon detecting thatthe cursor icon 412 is positioned over the second clip preview 406 b.

As an alternative to providing a display in accordance with a positionof the cursor icon 412, the virtual-reality editing system 108 can causethe virtual-reality device 104 to display a portion of the first clip orthe second clip in accordance with a position or tilt of thevirtual-reality device 104. For example, in one or more embodiments, thevirtual-reality display 202 includes a frame from the first video clipif the virtual-reality device 104 is tilted upward (e.g., above athreshold angle relative to horizontal). Alternatively, in one or moreembodiments, the virtual-reality display 202 includes a frame from thesecond video clip if the virtual-reality device 104 is tilted upward(e.g., below a threshold angle relative to horizontal).

In one or more embodiments, the virtual-reality editing system 108rotates a perspective of the virtual-reality display 202 in response touser interaction with the control interface 302 and particularly thealignment preview 402. For example, the virtual-reality editing system108 can reposition the displayed portion of the virtual-reality display202 in response to the user 106 selecting the first clip preview 406 aand shifting the first clip preview 406 a to the right or left. As shownin FIGS. 4A-4B, the virtual-reality editing system 108 rotates theperspective of the virtual-reality display 202 in response to the user106 selecting the first clip preview 406 a (e.g., with the cursor icon412) and dragging the first clip preview 406 a to the left. This ensuresthat an object (e.g., a skier) to move within a displayed portion of thevirtual-reality display 202.

As an alternative to clicking and dragging the clip previews 406 a-b,the virtual-reality editing system 108 can shift one or both of the clippreviews 406 a-b via movement of the virtual-reality device 106. Forexample, while the cursor icon 412 is positioned over the first clippreview 406 a (or while the first clip preview 406 a is otherwiseselected), the virtual-reality display 202 and first clip preview 406 amay be shifted via horizontal rotation of the virtual-reality device104. For example, the movement of the first clip preview 406 a fromright to left may be caused by rotational movement of thevirtual-reality device 104 from left to right, thus causing the car tomove from the peripheral portion (e.g., the peripheral preview 410) tothe displayed portion (e.g., display preview 408) of the virtual-realitydisplay 202 as shown in FIG. 4B.

Similar to causing the first clip preview 406 a to shift from right toleft using the cursor icon 412 and/or movement of the virtual-realitydevice 104, the virtual-reality editing system 108 can similarly enableshifting of an orientation of the second video clip in reference to thefirst video clip. For example, as shown in FIG. 4C, the virtual-realityediting system 108 rotates an orientation of the second video clip inresponse to a user input shifting the second clip preview 406 b fromleft to right. In this way, the virtual-reality editing system 108causes the skier from the second video clip to appear within the displayportion of the virtual-reality display 202 rather than the peripheralportion when the video cuts from the first video clip to the secondvideo clip at the break 404.

In this way, the virtual-reality editing system 108 enables a user 106to interact with the clip previews 406 a-b to change an orientation ofone or multiple adjacent clips of a virtual-reality video. Inparticular, using one or more techniques described above, thevirtual-reality editing system 108 normalizes or otherwise redefines thetrue north of one or both adjacent video clips to align interestingcontent from both of the video clips to adjacent displayed portions ofthe virtual-reality display 202 for each of the respective clips. Thisrotational alignment avoids awkward cuts in the virtual-reality videobetween video clips where interesting content jumps unexpectedly fromthe displayed portion to the peripheral portion of the virtual-realitydisplay 202.

As a result of the rotational edits, the transition between the firstvideo clip and the second video clip of the virtual-reality video willinclude the skier from the first video clip aligned with the skier ofthe second clip. In one or more embodiments, the virtual-reality editingsystem 108 transitions between the first clip and the second clip byinstantly snapping from the orientation of the first clip to theorientation of the second clip. Thus, the transition from the rotationaldirection of the first clip to the rotational direction of the secondclip would be instantaneous.

Alternatively, in one or more embodiments, the virtual-reality editingsystem 108 transitions between the first clip and second clip gradually.In particular, rather than an instantaneous (and potentially abrupt)snap from the first orientation of the first video clip to the secondorientation of the second video clip, the virtual-reality editing system108 instead causes the virtual-reality display 202 to gradually rotatefrom the first direction at the end of the first clip to the seconddirection at the beginning of the second clip. As an example, where thedifference in rotation between the video clips is 30 degrees, thevirtual-reality editing system 108 may cause the virtual-reality displayto rotate 30 degrees during the transition between the first clip andsecond clip. This rotation can occur entirely during the first clip orsecond clip or, alternatively, over portions of both the first clip andthe second clip. The gradual rotation can also occur over a predefinedperiod of time (e.g., 1-5 seconds).

Gradually rotating the perspective of the virtual-reality display 202may be particularly beneficial when displaying different video clipshaving similar backgrounds. For example, where the first clip and secondclip are filmed from the same location, but include video clips fromnon-consecutive portions of the video footage, gradually rotating from afirst rotation of the first clip to the second rotation of the secondclip may provide an appearance of a continuous video of a single scene.In one or more embodiments, the virtual-reality editing system 108enables the user 104 to select an instantaneous or gradual rotation.Further, in one or more embodiments, the virtual-reality editing system108 enables the user 104 to select a speed at which the gradualtransition occurs (e.g., a defined time period, a rate of rotation).

In addition to the rotational alignment controls, the virtual-realityediting system 108 includes one or more vignetting controls to reducepotential motion sickness of the user 106. For example, virtual-realityvideo often induces motion sickness, particularly when working with rawfootage that includes shaky or rotated scene motion. This motion isoften accentuated when the user 106 scrubs rapidly through thevirtual-reality display 202 (e.g., using the scroll bar 304). Inaddition, while some virtual-reality videos have been stabilized toreduce shaky or rotated scene motion, even stabilized video may includeshakiness or jumping when scrubbing rapidly through the virtual-realityvideo.

For example, as shown in FIG. 5A, the user 106 can select the positionicon 306 on the scroll bar 304 and perform a scrolling or scrubbingaction 502 that causes the virtual-reality display 202 to rapidlychange. In one or more embodiments, the virtual-reality editing system108 rapidly changes the virtual-reality display 202 simply as a resultof quickly navigating forward in time in accordance with the changingposition of the position icon 306. In addition, the virtual-realityediting system 108 can change perspectives of the virtual-realitydisplay (e.g., move from a displayed portion to a peripheral portion)based on movement of the virtual-reality device 104 while the scrollingaction 502 occurs.

In one or more embodiments, the virtual-reality editing system 108reduces potential motion sickness by narrowing a field of view of thevirtual-reality display 202. For example, as shown in FIG. 5B, thevirtual-reality editing system 108 narrows the field of view for thevirtual-reality display 202 by displaying a narrowing background 504that forms a border around a narrowed display 506. In one or moreembodiments, the narrowing background 504 includes a black or otherwisedark color that blocks the outer portion of the displayed portion of thevirtual-reality display 202. In one or more embodiments, the narrowingbackground 504 includes any uniform and/or dark color that narrows thefocus of the display area 202 and provides the narrowed display 506.

As an alternative to the black or otherwise uniform background 504 shownin FIG. 5B, in one or more embodiments, the virtual-reality editingsystem 108 provides a virtual background 508 including a backgrounddisplay. For example, as shown in FIG. 5C, the virtual background 508includes a fixed display of a room. Alternatively, in one or moreembodiments, the virtual background 508 includes a background of nature,a park, the sky, or any other background design that simulates anambient environment for the user 106 of the virtual-reality device 104.In one or more embodiments, the virtual-reality editing system 108enables the user 106 to select a background scene for the background 508from a number of scene options.

In one or more embodiments, the virtual-reality editing system 108provides a virtual background 508 that remains fixed relative tomovement of the virtual-reality device 104. For example, the virtualbackground 508 may remain fixed notwithstanding movement of thevirtual-reality device 104 or movement of the virtual-reality display202. In this way, the virtual-reality editing system 108 provides anon-moving background 508 while the user 106 scrolls through thevirtual-reality video, thus reducing potential motion sickness.

Alternatively, in one or more embodiments, the virtual background 508moves relative to movement of the virtual-reality device 104 to showadditional portions (e.g., peripheral portions) of the virtualbackground 508. For example, if the virtual background includes a room,the user 108 can view peripheral portions of the room by moving theheadset while scrolling through the virtual-reality video. In this way,the virtual-reality editing system 108 simulates the environment of theroom (or other virtual background), and similarly reduces potentialmotion sickness.

In one or more embodiments, the narrowed display 506 includes variousshapes and sizes. For example, as shown in FIG. 5B, the narrowed display506 includes a circular or oval shape defined by the narrowingbackground 504. Alternatively, as shown in FIG. 5C, the narrowed display506 includes a square or rectangular shape defined by the virtualbackground 508. It is appreciated that the user 106 can select one ofseveral types of shapes according to the user's preference.

As shown in FIGS. 5B-5C, the virtual-reality editing system 108 displaysthe backgrounds 504, 508 and the narrowed display 506 behind the editinginterface 302. Thus, when the virtual-reality editing system 108 narrowsthe field of view for the virtual-reality display 202, thevirtual-reality editing system 108 provides a full display of theediting interface 302. Nevertheless, in one or more embodiments, thebackground 504, 508 overlaps and blocks a portion of the editinginterface 302.

In one or more embodiments, the virtual-reality editing system 108narrows the field of view as shown in FIGS. 5A-5C upon detecting thatthe user 106 is scrolling through the virtual-reality video. Inparticular, in one or more embodiments, the virtual-reality editingsystem 108 narrows the field of view in response to detecting thescrolling action 502. For example, in one or more embodiments, thevirtual-reality editing system 108 narrows the field of view based ondetected scrolling without consideration to the displayed content or tohow fast the user 106 is scrolling.

In addition, in one or more embodiments, the virtual-reality editingsystem 108 narrows the field of view more or less (e.g., to cover alarger or smaller portion of the virtual-reality display 202) based onvarious triggers or conditions. In one or more embodiments, thevirtual-reality editing system 108 narrows the field of view based onone or more characteristics of the scrolling action 502. As an example,in one or more embodiments, the virtual-reality editing system 108narrows the field of view more or less based on a speed of the scrollingaction 502. For instance, in one or more embodiments, thevirtual-reality editing system 108 narrows the field of view based on anumber of frames/second a scrolling action 502 causes thevirtual-reality editing system 108 to scroll through the virtual-realityvideo. In particular, the virtual-reality editing system 108 narrows thefield of view more for a scrolling action 502 resulting in a highernumber of scrolled frames/second than for a scrolling action 502resulting in a lower number of scrolled frames/second. In one or moreembodiments, if the scrolling action 502 does not exceed a thresholdnumber of frames/second, the virtual-reality editing system 108 maysimply display the entire displayed portion of the virtual-realitydisplay 202 without narrowing the field of view.

In one or more embodiments, rather than narrowing the field of view as afunction of the scrolling action 502, the virtual-reality editing system108 narrows the field of view based on content displayed in thevirtual-reality display 202. For example, if a virtual-reality videoincludes a lot of motion (e.g., camera motion, motion of objects), thevirtual-reality editing system 108 can further narrow the field of viewthan for virtual-reality videos that include little or no motion. Thus,the virtual-reality editing system 108 can narrow the field of view as afunction of detected content within the virtual-reality display 202 ordetected ambient motion of the virtual-reality video.

As an example of narrowing the field of view based on content of thevirtual-reality video, in one or more embodiments, the virtual-realityediting system 108 contracts the field of view based on perceived motionwithin a display of the virtual-reality video. For instance, thevirtual-reality editing system 108 determines an optical flow (e.g.,pattern of motion of objects, surfaces, and edges) of thevirtual-reality video from frame to frame to estimate the shakiness ofthe virtual-reality video. In one or more embodiments, thevirtual-reality editing system 108 precomputes the optical flow usingthe Lucas-Kanade method. In particular, the virtual-reality editingsystem 108 assumes displacement of content of image contents between twonearby frames of the virtual-reality video to be small and constantwithin a neighborhood of a point or pixel(s) under consideration.

Further, the virtual-reality editing system 108 computes the motionmagnitude of the virtual-reality video from the user's viewpoint todetermine the rate at which the virtual-reality editing system 108narrows the field of view. In one or more embodiments, the motionmagnitude of the virtual-reality video from the user's viewpoint isexpressed as:

$M_{f} = {\sum\limits_{i = 1}^{N}\; {V_{i}}}$

where N is the number of tracked points in the user's current view andV_(i) is the motion vector from a current frame (f) to the next frame(f+1) of point i.

In one or more embodiments, a rate at which the virtual-reality editingsystem 108 narrows the field of view is set to a default rate (e.g., arate of contraction) between 0 and negative (−) 30 degrees/second basedon the determined motion magnitude (M_(f)), thus contracting the fieldof view faster in choppy scenes while contracting subtly in normalscenes. In one or more embodiments, the rate of contraction is set tozero degrees/second when M_(f)≈min (M_(f)) and to −30 degrees/secondwhen M_(f)≈max (M_(f)), respectively. In one or more embodiments, min(M_(f)) and max (M_(f)) are precomputed over all M_(f) of whichviewpoints are centered around all tracked points of the virtual-realityvideo (e.g., prior to launching the virtual-reality video).

Furthermore, when the virtual-reality editing system 108 detects theuser 106 scrolling through the virtual-reality video, thevirtual-reality editing system 108 speeds up the rate of contraction bymultiplying the rate of contraction with the number of video frameschanged when scrolling through the virtual-reality video. Thus,scrolling faster through the virtual-reality video will cause thevirtual-reality editing system 108 to contract the field of view fasterthan when the user 106 scrolls at a normal or slower rate. Thus, in oneor more embodiments, the virtual-reality editing system 108 narrows thefield of view as a function of both content displayed within thevirtual-reality display and a rate of scrolling (e.g., scrolledframes/second) through the virtual-reality video.

In addition to controls described above, one or more embodiments of thevirtual-reality editing system 108 includes graphic controls. Forexample, as mentioned above, the virtual-reality video includes agraphic layer 312 a that includes a graphic 602 displayed over a portionof the virtual-reality display 202. As shown in FIG. 6A, the graphic 602is displayed over the virtual-reality display 202 for the duration of aportion of the virtual-reality video indicated by the graphic icon 604on the editing interface 302. Accordingly, when the position icon 304 ispositioned over the graphic icon 604, the virtual-reality display 202includes the graphic 602.

As shown in FIGS. 6A-6B, in response to user input with thevirtual-reality display 202, the virtual-reality editing system 108moves the graphic 602 from a first location to a second location. Forexample, as shown in FIG. 6A, the virtual-reality editing system 108, inresponse to user input selecting the graphic 602 and moving a cursor,moves the graphic from a first location (as shown in FIG. 6A) to asecond location (as shown in FIG. 6B). Alternatively, in one or moreembodiments, the virtual-reality editing system 108 detects user inputvia other virtual-reality controls including, for example, hand motionor other method for interacting with the virtual-reality display 202.

In one or more embodiments, the virtual-reality editing system 108displays the graphic 602 at a fixed point on the displayed portion ofthe virtual-reality display 202. For example, similar to the editinginterface 302 that remains fixed relative to movement of thevirtual-reality device 104, the graphic 602 can similarly remaindisplayed at a fixed point independent of a direction or movement of thevirtual-reality device 104. Thus, in one or more embodiments, thegraphic 602 remains displayed on the displayed portion of thevirtual-reality display 202 without moving to the peripheral portion ofthe virtual-reality display 202.

Alternatively, in one or more embodiments, the virtual-reality editingsystem displays the graphic 602 at a position within the virtual-realitydisplay 202 that moves within the virtual-reality display 202 relativeto movement of the virtual-reality device 104. For example, as shown inFIG. 6B, the graphic 602 is placed at a specific location within thefield of view provided the virtual-reality device. As thevirtual-reality device 104 moves, the graphic 602 will similarly move aspart of the content within the virtual-reality display 202. Thus, if thevirtual-reality device 104 rotates horizontally by 180 degrees, thevirtual-reality editing system 108 moves the graphic 602 from thedisplayed portion (e.g., in front of the user 106) to the peripheralportion (e.g., behind the user 106) of the virtual-reality display 202.

In one or more embodiments, the graphic 602 includes text, photos,images, or other content displayed over the top of the virtual-realitydisplay 202. Alternatively, in one or more embodiments, the graphic 602includes a video or other visual display that plays over the portion ofthe virtual-reality video corresponding to the graphic icon 604 in theediting interface. In addition, it is appreciated that thevirtual-reality video can include any number of graphics over differentportions of the virtual-reality display 202.

By providing the graphic 602 over the displayed portion of thevirtual-reality display 202, the virtual-reality editing system 108enables viewing of how the graphic will appear on playback of thevirtual-reality video. In addition, by providing a preview of thegraphic 602 via the virtual-reality display 202, the virtual-realityediting system 108 avoids conventional desktop approaches that involvemanually converting a two-dimensional graphic on a desktop display tothe equirectangular projection as seen by the user 106 of thevirtual-reality device 104. Alternatively, the virtual-reality editingsystem 108 provides a real-time preview of the graphic 602 as it willappear within the virtual-reality display 202. In addition, thevirtual-reality editing system 108 facilitates display of the graphic602 on an object or feature within the virtual-reality display 202.

In addition to the controls described above, one or more embodiments ofthe virtual-reality editing system 108 includes bookmarking controlsthat facilitate bookmarking positions within the virtual-reality video.For example, as shown in FIGS. 7A-7C, the virtual-reality editing system108 adds bookmarks 702 a-c to different positions of the virtual-realityvideo. As shown in FIG. 7A, the virtual-reality video includes a firstbookmark 702 a and a second bookmark 702 b. As further shown in FIG. 7B,the virtual-reality editing system 108 can add a third bookmark 702 c tothe virtual-reality video corresponding to a position of the positionicon 306 along the scroll bar 304.

For example, in response to user input selecting the bookmark icon 310e, the virtual-reality editing system 108 initiates the bookmarkinginterface shown in FIG. 7A. To add a bookmark, the user 106 can scrollthrough the virtual-reality video and select an add bookmark button 704to bookmark a position within the virtual-reality video. Upon adding abookmark, the virtual-reality editing system 108 provides an indicationof a position of the bookmark on the scrollbar 304. As shown in FIGS.7A-7C, the virtual-reality editing system 108 adds the third bookmark702 c in response to selecting the add bookmark button 704 correspondingto the position of the position icon 306 along the scroll bar 304. Inaddition, as shown in FIG. 7B, the virtual-reality editing system 108adds a bookmark indicator 708 c corresponding to the third bookmark 702c on the scroll bar 304.

The bookmark controls provides for bookmarking a position including botha time of the virtual-reality video as indicated by the position of theposition icon 306 (e.g., a specific frame of the virtual-reality video)as well as a position within the virtual-reality display 202. Inparticular, each of the bookmarks 702 a-c can include both a timeposition within the virtual-reality video and a direction (e.g.,horizontal and/or vertical direction) that points to a particular orlocation within the virtual-reality display 202. In this way, the user106 can add bookmarks that point to different times and locations withinthe virtual-reality video.

In addition, the virtual-reality editing system 108 provides one or morebookmarking controls that enables quick navigation to bookmarked pointswithin the virtual-reality video. For example, in one or moreembodiments, the virtual-reality editing system 108 navigates tobookmarked locations in response to the user 106 selecting one of thebookmarks 702 a-c indicated on the scroll bar 304. For instance, inresponse to detecting a selection of the first bookmark 702 a indicatedon the scroll bar 304, the virtual-reality editing system 108 quicklynavigates (e.g., skips) to the location and direction of the firstbookmark 702 a. As shown in FIG. 7C, the virtual-reality editing system108 displays the object or frame as indicated by the bookmark indicator708 a and the first bookmark 702 a displayed on the scroll bar 304. Inaddition, the virtual-reality editing system 108 skips to the firstbookmarked location of the virtual-reality display 202.

In addition, or as an alternative to selecting the bookmarks 702 a-cindicted on the scroll bar 304, the virtual-reality editing system 108can provide bookmark navigation controls 706 including forward orbackward inputs that skip to the next bookmark or previous bookmark. Forexample, as shown in FIGS. 7B and 7C, in response to the user 106selecting the forward input of the bookmark navigation controls 706, thevirtual-reality editing system 108 skips from the third bookmark 702 cto the first bookmark 702 a. Further, as shown in FIG. 7C, thevirtual-reality editing system 108 displays the frame of thevirtual-reality video corresponding to the first bookmark 702 a. In oneor more embodiments, the virtual-reality editing system 108 positionsthe virtual-reality display 202 so that the identified bookmark ispositioned at the center of the display area of the virtual-realitydisplay 202.

Moreover, in one or more embodiments, the virtual-reality editing system108 provides top view controls that enable the user 106 to see atop-down 360-degree preview of the virtual-reality display 202. Forexample, in response to detecting a selection of the top-down controlicon 310 f, the virtual-reality editing system 108 provides a top-downpreview 802 including a top-down 360-degree preview of the current frameof the virtual-reality display 202. As shown in FIG. 8A, the top-downpreview 802 includes a graphic displayed over a portion of thevirtual-reality display 202. It is appreciated that the user 106 canselect and move the top-down preview 802 to any other portion of thedisplayed portion of the virtual-reality display 202.

As shown in FIG. 8A, the top-down preview 802 includes an indication ofthe perspective of the user 106 with respect to the virtual-realitydisplay. For example, the top-down preview 802 includes a top-downdisplay preview 804 showing a portion of the top-down preview 802 thatcorresponds to the currently displayed portion of the virtual-realitydisplay 202. In addition, the top-down preview 802 includes a top-downperipheral preview 806 showing a portion of the top-down preview 802that corresponds to the current peripheral portion of thevirtual-reality display 202.

As shown in FIGS. 8A-8B, the virtual-reality editing system 108 providesa top-down preview 804 that illustrates what is happening within thevirtual-reality display 202 both within the field of view of the user106 and in the peripheral view of the user 106. For example, as shown inFIG. 8A, the top-down preview 802 includes a car at a first position 808a behind (e.g., within the peripheral display) the user 106 and outsidethe displayed portion of the virtual-reality display 202. As the videoprogresses from the video frame shown in FIG. 8A to the video frameshown in FIG. 8B, the top-down preview 802 shows the car moving from thefirst position 808 a to a second position 808 b passing from theperipheral portion of the virtual-reality display 202 to the displayedportion of the virtual-reality display 202.

In one or more embodiments, the top-down preview 802 changes based onscrolling through video frames of the virtual-reality video. Forexample, as shown in FIGS. 8A and 8B, the position icon 306 moves from afirst position along the scroll bar 304 in FIG. 8A to a second positionalong the scroll bar 304 in FIG. 8B. In one or more embodiments, thetop-down preview 802 changes based on movement of the virtual-realitydevice 104. For example, as the user 106 turns to view a differentportion of the virtual-reality display 202, the top-down preview 802 canchange to include different portions of the virtual-reality display 202within the top-down display preview 804 and the top-down peripheralpreview 806.

Turning now to FIG. 9, additional detail will be provided regardingcomponents and capabilities of an example architecture for avirtual-reality editing system 108 that may be implemented on a clientdevice 102 in accordance with one or more embodiments. In particular,FIG. 9 illustrates an example embodiment of a client device 102 having avirtual-reality editing system 108 thereon that accomplishes featuresand functionality associated with one or more embodiments describedabove. For example, the virtual-reality editing system 108 enables auser 106 of a virtual-reality device 104 to view a display of avirtual-reality video as well as implement and preview edits to thevirtual-reality video while wearing the virtual-reality device 104. Asshown in FIG. 9, the virtual-reality editing system 108 includes adisplay provider 902, an editing control manager 904, a preview manager906, and a data storage 908 including video data 910.

As illustrated in FIG. 9, the virtual-reality editing system 108includes a display provider 902. In particular, the display provider 902provides a virtual-reality display 202 of a virtual-reality video via avirtual-reality device 104. In one or more embodiments, providing thevirtual-reality display 202 includes providing a displayed portionincluding a portion of the virtual-reality display 202 within animmediate field of view of the user 106 wearing the virtual-realitydevice 104. In addition, providing the virtual-reality display includesproviding a peripheral portion including a portion of thevirtual-reality display outside the immediate field of view of the user106 wearing the virtual-reality device 104. As described in furtherdetail above, the display provider 902 can dynamically modify thedisplayed portion and peripheral portion based on movement of thevirtual-reality device 104.

As further shown in FIG. 9, the virtual-reality editing system 108includes an editing control manager 904. In particular, the editingcontrol manager 904 provides the editing control interface 302 over aportion of the virtual-reality display 202. In one or more embodiments,the editing control manager 904 provides the editing control interface302 at a fixed location over the displayed portion of thevirtual-reality display 202. In addition, the editing control manager904 provides the editing control interface 302 including variouscontrols to enable the user 104 to conveniently interact with thevirtual-reality video to implement and preview edits to thevirtual-reality video. Examples of controls include, for example, trimcontrols, rotational alignment controls, vignetting controls, graphiccontrols, bookmarking controls, and top-view controls.

As further shown in FIG. 9, the virtual-reality editing system 108includes a preview manager 906. In particular, the preview manager 906provides a real-time preview of one or more modifications made to thevirtual-reality video via selection of various controls. For example, inresponse to detecting a user selection of a rotational control, thepreview manager 906 provides a preview of adjacent video clips fromdifferent sections of a virtual-reality video. In addition, the previewmanager 906 provides an interactive 360-degree visualization of each ofthe adjacent video clips that enable the user 106 to interact with thepreviews to align perspectives from the adjacent video clips thuspreventing possible disorientation when viewing the virtual-realityvideo.

As another example, the preview manager 906 narrows a field of view ofthe virtual-reality display based on a scrolling action with respect tothe editing interface 302. For example, in one or more embodiments, thepreview manager 906 narrows a field of view by causing a background toappear over an outer portion of the virtual-reality video. In one ormore embodiments, the preview manager 906 narrows the field of viewbased on a speed or rate (e.g., frames/second) of the scrolling action.In one or more embodiments, the preview manager 906 narrows the field ofview based on detected movement of content within the virtual-realitydisplay.

As further shown in FIG. 9, the virtual-reality editing system 108includes a data storage 908 including video data 910. In one or moreembodiments, the video data 910 includes any data associated with thevirtual-reality video. For example, the video data 910 can include dataassociated with various layers of the virtual-reality video (e.g., videolayer, audio layer, graphics layer). In addition, the video data 910 caninclude directional data including, for example, a true north for thevirtual-reality video or discrete sections of the virtual-reality video.The video data 910 can further include time data, location data, orother metadata of the virtual-reality video. The video data 910 canfurther include detected objects or motion of the virtual-reality video.Moreover, in one or more embodiments, the video data 910 includesvarious edits or modifications made to the virtual-reality video.

Using one or more embodiments described herein, the virtual-realityediting system 108 provides an improved interactive experience toeditors and producers of virtual-reality videos. For example, surveyedusers universally found the editing interface 302 and controls easy touse and learn. In addition, surveyed users overwhelmingly indicated thatthe user controls for alignment rotation, narrowing the field of view,inserting/moving a graphic, displaying the top-down view, andadding/navigating bookmarks improved the virtual-reality experience overconventional systems for editing and previewing edits to virtual-realityvideos.

FIGS. 1-9, the corresponding text, and the example, provide a number ofdifferent systems and devices that enable viewing of a virtual-realitycontent item in a virtual-reality environment, interaction with thevirtual-reality content item, and editing of the virtual-reality contentitem all during display of the virtual-reality content item via avirtual-reality device. In addition to the foregoing, embodiments canalso be described in terms of flowcharts comprising acts and steps in amethod for accomplishing a particular result. For example, FIGS. 10-12illustrate flowcharts of exemplary methods and acts in accordance withone or more embodiments.

FIG. 10 illustrates a flowchart of one example method 1000 forfacilitating editing of virtual-reality content in a virtual-realityenvironment in accordance with one or more embodiments. For example, themethod 1000 includes an act 1010 of providing a virtual-reality display202 of a virtual-reality content item. In particular, in one or moreembodiments, the act 1010 involves providing a virtual-reality display202 of a virtual-reality content item via a virtual-reality device 104.As mentioned above, in one or more embodiments, the virtual-realitycontent item includes a virtual-reality video viewable via thevirtual-reality device 104.

In one or more embodiments, providing the virtual-reality display 202 ofthe virtual-reality content item includes providing a displayed portionand a peripheral portion of the virtual-reality display 202. Inparticular, in one or more embodiments, providing the virtual-realitydisplay 202 includes providing a displayed portion within a field ofview of the virtual-reality device 104. In addition, in one or moreembodiments, providing the virtual-reality display 202 includesproviding a peripheral portion outside the field of view of thevirtual-reality device 104. In one or more embodiments, the peripheralportion is viewable via movement of the virtual-reality device 104. Forexample, in one or more embodiments, some or all of the displayedportion may be replaced by the peripheral portion based on movement(e.g., horizontal rotation) of the virtual-reality device 104.

As further shown in FIG. 10, the method 1000 includes an act 1020 ofproviding an editing interface 302 over a portion of the virtual-realitydisplay 202. In particular, in one or more embodiments, the act 1020includes providing an editing interface 302 comprising a plurality ofcontrols for implementing and previewing edits to the virtual-realitycontent item. The act 1020 further includes providing the editinginterface 302 including the controls over a portion (e.g., the displayedportion) of the virtual-reality display 202 of the virtual-realitycontent item.

In one or more embodiments, providing the editing interface 302 includesproviding the editing interface 302 within a field of view of thevirtual-reality device 104 irrespective of movement or an orientation ofthe virtual-reality device 104. In particular, in one or moreembodiments, providing the editing interface 302 includes modifying theportion of the virtual-reality content item in the field of view of thevirtual-reality device 104 without modifying a position of the editinginterface 302 within the field of view of the virtual-reality device104.

As further shown in FIG. 10, the method 1000 includes an act 1030 ofdetecting a selection of a control from the editing interface 302displayed over the portion of the virtual-reality display 202. Forexample, detecting the selection can include detecting a user selectionof a control for editing or otherwise altering an appearance of thevirtual-reality display 202. Alternatively, detecting the selection caninclude detecting other user interactions with respect to thevirtual-reality display 202. For example, detecting the selection caninclude detecting a navigation input or a playback of thevirtual-reality content item.

As further shown in FIG. 10, the method 1000 includes an act 1040 ofmodifying the virtual-reality display 202 in real-time in response todetecting the selection of the control. Modifying the virtual-realitydisplay 202 may include providing an alternate preview of one or moreframes of the virtual-reality content item. Modifying thevirtual-reality display 202 can further include providing one or moreindications of edits to the virtual-reality content item within thevirtual-reality display 202. In addition, modifying the virtual-realitydisplay 202 can include providing further controls to enable the user topreview edits or modifications to both the display portion andperipheral portion of the virtual-reality display.

As further shown in FIG. 10, the method 1000 includes an act 1050 ofreceiving a confirmation of an edit to perform to the virtual-realitycontent item. For example, in one or more embodiments, receiving aconfirmation includes receiving one or more user inputs via thevirtual-reality device 104 or other input device (e.g., keyboard, mouse)to confirm an edit to apply to the virtual-reality content item. Inaddition, in one or more embodiments, the method 1000 includes an act1060 of generating a revised virtual-reality content item in response toreceiving the confirmation. In one or more embodiments, the method 1000further includes providing a preview of the revised virtual-realitycontent item via the virtual-reality device 104.

As mentioned above, the method 1000 can include detecting a selection ofa variety of different controls. In one or more embodiments, detectingthe selection of the control includes detecting a selection of analignment control to align a last frame of a first video clip with afirst frame of a second video clip at a transition from the first videoclip to the second video clip. In response to the selection of thealignment control, the method 1000 includes modifying thevirtual-reality display by providing a first preview of the first videoclip and a second preview of the second video clip within the field ofview of the virtual-reality device. The method 1000 can also involveproviding an indication of an orientation of the last frame and anorientation of the first frame at the transition. In one or moreembodiments, the first preview includes a preview of a video frame of afirst clip and a video frame of a second clip. In one or moreembodiments, the first and second clips refer to adjacent video clipsthat appear consecutively upon playback of the virtual-reality contentitem.

In one or more embodiments, the method 1000 comprises receiving userinput with respect to the first preview indicating a rotation of thefirst video clip relative to the second video clip. For example,receiving the user input may include detecting a selection of the firstclip and dragging the first clip to align content from the first clipwith content of the second clip. Alternatively, in one or moreembodiments, receiving the user input includes detecting a horizontalrotation of the virtual-reality device 104 while the first preview isselected indicating a rotation of the first clip relative to the secondclip. In one or more embodiments, the method 1000 includes detecting andprocessing a similar selection and rotation of the second clip relativeto the first clip.

In response to detecting the selection and rotation of the first cliprelative to the second clip, the method 1000 includes generating therevised virtual-reality content item. In particular, generating therevised virtual-reality content item includes reorienting a true northof the first clip relative to the second clip so as to change theorientation of the last frame for the first video clip at thetransition. In particular, the method 1000 includes normalizing,rotating, or otherwise changing the default orientation of the firstvideo clip to be different from the second video clip. In one or moreembodiments, the method 1000 includes rotating only one of the firstclip or second clip. Alternatively, in one or more embodiments, themethod 1000 includes rotating both the first clip and second clip.

As another example, in one or more embodiments, detecting a selection ofa control includes detecting a scrolling action. In response, the method1000 includes modifying the virtual-reality display 202 of thevirtual-reality content item by narrowing a field of view of thevirtual-reality display 202. In one or more embodiments, narrowing thefield of view includes narrowing the field of view based on a scrollingspeed (e.g., frames/second) of the detected scrolling action.Alternatively, in one or more embodiments, narrowing the field of viewincludes narrowing the field of view based on detected movement of oneor more objects within the virtual-reality display 202.

Further, in one or more embodiments, narrowing the field of viewincludes displaying a background that obstructs an outer portion of thevirtual-reality display 202. For example, narrowing the field of viewcan include displaying a black or other uniform color of background thatobstructs the outer boundary of the displayed portion of thevirtual-reality display 202. Narrowing the field of view can furtherinclude displaying other types of backgrounds. For example, in one ormore embodiments, narrowing the field of view includes displaying avirtual environment including a room, a park, the sky, a pattern, orother background design that simulates an ambient environment of theuser 106 of the virtual-reality device 104.

As another example, in one or more embodiments, detecting the selectionof the control from the plurality of controls involves detecting anaddition of a graphic to the virtual-reality display 202. For example,in one or more embodiments, detecting the selection includes receiving auser input to display a graphic over the top of a portion of thevirtual-reality display 202 (e.g., at a location within thevirtual-reality display 202). In addition, in one or more embodiments,the method includes modifying the virtual-reality display 202 of the360-degree audio-visual content by displaying the graphic over a portionof the virtual-reality display.

In one or more embodiments, the method 1000 includes one or more stepsfor manipulating the virtual-reality display 202 in accordance with aselection of a control. For example, in one or more embodiments, themethod 1000 includes a step for manipulating a display of thevirtual-reality content item in response to the selection of thecontrol. FIGS. 11-12 show example methods including acts formanipulating the virtual-reality display 202 of the virtual-realitycontent item in response to a selection of a control.

For example, FIG. 11 illustrates a series of acts 1100 in one embodimentof performing a step for manipulating the display of the virtual-realitycontent item in response to selection of a control of an editinginterface over a portion of a virtual-reality display of avirtual-reality content item. The acts can include an act 1110 ofproviding a first preview of a first clip of a virtual-reality contentitem over a virtual-reality display 202. In particular, in one or moreembodiments, the act 1110 includes providing a first preview of a firstclip of the virtual-reality content item over a displayed portion of thevirtual-reality display 202. In addition, as shown in FIG. 11, theseries of acts 1100 includes an act 1120 of providing a second previewof a second clip of the virtual-reality content item over thevirtual-reality display 202 (e.g., over the displayed portion of thevirtual-reality display 202).

As further shown in FIG. 11, the series of acts 1100 includes an act1130 of detecting a user input indicating a rotation of the first cliprelative to the second clip. For example, in one or more embodiments,the act 1130 includes detecting a user input with respect to the firstpreview of the first clip indicating a rotation of the first cliprelative to the second clip. As further shown in FIG. 11, the series ofacts 1100 includes an act 1140 of generating a revised virtual-realitycontent item including a re-oriented first clip. For example, in one ormore embodiments, the act 1140 includes generating a revisedvirtual-reality content item comprising a reoriented portion of thevirtual-reality content item corresponding to the first clip.

As another example, FIG. 12 illustrates another series of acts 1200 inone embodiment of performing a step for manipulating the display of thevirtual-reality content item in response to selection of a control of anediting interface over a portion of a virtual-reality display of avirtual-reality content item. For example, in one or more embodiments,the series of acts 1200 includes an act 1210 of detecting the scrollingaction of a virtual-reality content item. In particular, act 1210 caninclude detecting a scrolling action that exceeds a threshold rate(e.g., frames/second) of scrolling through the virtual-reality contentitem. As further shown in FIG. 12, the series of acts 1200 includes anact 1220 of determining a motion of one or more objects within avirtual-reality display 202. In addition, as shown in FIG. 12, theseries of acts 1200 includes an act 1230 of determining a scroll rate(e.g., frames/second) of the scrolling action. Moreover, in one or moreembodiments, the series of acts 1200 includes an act 1240 of narrowing afield of view of the virtual-reality display 202 based on the determinedmotion and the determined scroll rate. For example, in one or moreembodiments, the act 1240 includes narrowing a field of view of thevirtual-reality display 202 of the virtual-reality content item based onthe determined motion of one or more objects and the determined scrollrate of the scrolling action.

Determining the motion and scroll rate and rate of the scrolling actionmay be performed in various ways. For example, in one or moreembodiments, determining the motion of one or more objects includescomputing a motion magnitude of the virtual-reality display 202 of thevirtual-reality content item using the following expression:

$M_{f} = {\sum\limits_{i = 1}^{N}\; {V_{i}}}$

where N is the number of tracked points in the user's current view andV, is the motion vector from a current frame (f) to the next frame (f+1)of point i. Moreover, in one or more embodiments, determining the scrollrate includes determining a number of frames/second that the scrollingaction causes the virtual-reality display 202 to display as a user 106moves a position icon 306 along a scroll bar 304 of the edit controlinterface 302.

Upon determining the motion of one or more objects and the scroll rateof the scrolling action, the method 1200 can further determine a rate ofcontraction for narrowing the field of view. In one or more embodiments,determining the rate of contraction includes setting a default rate ofcontraction (e.g., a range of contraction rates) between 0 and −30degrees/second and contracting the field of view based on the determinedmotion magnitude (M_(f)). In addition, determining the rate ofcontraction further includes multiplying the rate of contraction by thescrolling rate (e.g., number of frames/second) of the scrolling action.

Embodiments of the present disclosure may comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentdisclosure also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. In particular, one or more of the processes described hereinmay be implemented at least in part as instructions embodied in anon-transitory computer-readable medium and executable by one or morecomputing devices (e.g., any of the media content access devicesdescribed herein). In general, a processor (e.g., a microprocessor)receives instructions, from a non-transitory computer-readable medium,(e.g., a memory, etc.), and executes those instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein.

Computer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arenon-transitory computer-readable storage media (devices).Computer-readable media that carry computer-executable instructions aretransmission media. Thus, by way of example, and not limitation,embodiments of the disclosure can comprise at least two distinctlydifferent kinds of computer-readable media: non-transitorycomputer-readable storage media (devices) and transmission media.

Non-transitory computer-readable storage media (devices) includes RAM,ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM),Flash memory, phase-change memory (“PCM”), other types of memory, otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to store desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media tonon-transitory computer-readable storage media (devices) (or viceversa). For example, computer-executable instructions or data structuresreceived over a network or data link can be buffered in RAM within anetwork interface module (e.g., a “NIC”), and then eventuallytransferred to computer system RAM and/or to less volatile computerstorage media (devices) at a computer system. Thus, it should beunderstood that non-transitory computer-readable storage media (devices)can be included in computer system components that also (or evenprimarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. In one or moreembodiments, computer-executable instructions are executed on a generalpurpose computer to turn the general purpose computer into a specialpurpose computer implementing elements of the disclosure. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural marketing features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the described marketing features or actsdescribed above. Rather, the described marketing features and acts aredisclosed as example forms of implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, and the like. The disclosuremay also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules may be located in bothlocal and remote memory storage devices.

Embodiments of the present disclosure can also be implemented in cloudcomputing environments. In this description, “cloud computing” isdefined as an un-subscription model for enabling on-demand networkaccess to a shared pool of configurable computing resources. Forexample, cloud computing can be employed in the marketplace to offerubiquitous and convenient on-demand access to the shared pool ofconfigurable computing resources. The shared pool of configurablecomputing resources can be rapidly provisioned via virtualization andreleased with low management effort or service provider interaction, andthen scaled accordingly.

A cloud-computing un-subscription model can be composed of variouscharacteristics such as, for example, on-demand self-service, broadnetwork access, resource pooling, rapid elasticity, measured service,and so forth. A cloud-computing un-subscription model can also exposevarious service un-subscription models, such as, for example, Softwareas a Service (“SaaS”), a web service, Platform as a Service (“PaaS”),and Infrastructure as a Service (“IaaS”). A cloud-computingun-subscription model can also be deployed using different deploymentun-subscription models such as private cloud, community cloud, publiccloud, hybrid cloud, and so forth. In this description and in theclaims, a “cloud-computing environment” is an environment in which cloudcomputing is employed.

FIG. 13 illustrates a block diagram of exemplary computing device 1300that may be configured to perform one or more of the processes describedabove. As shown by FIG. 13, the computing device 1300 can comprise aprocessor 1302, a memory 1304, a storage device 1306, an I/O interface1308, and a communication interface 1310, which may be communicativelycoupled by way of a communication infrastructure 1312. In certainembodiments, the computing device 1300 can include fewer or morecomponents than those shown in FIG. 13. Components of the computingdevice 1300 shown in FIG. 13 will now be described in additional detail.

In one or more embodiments, the processor 1302 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions fordigitizing real-world objects, the processor 1302 may retrieve (orfetch) the instructions from an internal register, an internal cache,the memory 1304, or the storage device 1306 and decode and execute them.The memory 1304 may be a volatile or non-volatile memory used forstoring data, metadata, and programs for execution by the processor(s).The storage device 1306 includes storage, such as a hard disk, flashdisk drive, or other digital storage device, for storing data orinstructions related to object digitizing processes (e.g., digitalscans, digital models).

The I/O interface 1308 allows a user to provide input to, receive outputfrom, and otherwise transfer data to and receive data from computingdevice 1300. The I/O interface 1308 may include a mouse, a keypad or akeyboard, a touch screen, a camera, an optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerfaces. The I/O interface 1308 may include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, the I/O interface 1308 isconfigured to provide graphical data to a display for presentation to auser. The graphical data may be representative of one or more graphicaluser interfaces and/or any other graphical content as may serve aparticular implementation.

The communication interface 1310 can include hardware, software, orboth. In any event, the communication interface 1310 can provide one ormore interfaces for communication (such as, for example, packet-basedcommunication) between the computing device 1300 and one or more othercomputing devices or networks. As an example and not by way oflimitation, the communication interface 1310 may include a networkinterface controller (NIC) or network adapter for communicating with anEthernet or other wire-based network or a wireless NIC (WNIC) orwireless adapter for communicating with a wireless network, such as aWI-FI.

Additionally, the communication interface 1310 may facilitatecommunications with various types of wired or wireless networks. Thecommunication interface 1310 may also facilitate communications usingvarious communication protocols. The communication infrastructure 1312may also include hardware, software, or both that couples components ofthe computing device 1300 to each other. For example, the communicationinterface 1310 may use one or more networks and/or protocols to enable aplurality of computing devices connected by a particular infrastructureto communicate with each other to perform one or more aspects of thedigitizing processes described herein. To illustrate, the imagecompression process can allow a plurality of devices (e.g., serverdevices for performing image processing tasks of a large number ofimages) to exchange information using various communication networks andprotocols for exchanging information about a selected workflow and imagedata for a plurality of images.

In the foregoing specification, the present disclosure has beendescribed with reference to specific exemplary embodiments thereof.Various embodiments and aspects of the present disclosure(s) aredescribed with reference to details discussed herein, and theaccompanying drawings illustrate the various embodiments. Thedescription above and drawings are illustrative of the disclosure andare not to be construed as limiting the disclosure. Numerous specificdetails are described to provide a thorough understanding of variousembodiments of the present disclosure.

The present disclosure may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. For example, the methods described herein may beperformed with less or more steps/acts or the steps/acts may beperformed in differing orders. Additionally, the steps/acts describedherein may be repeated or performed in parallel with one another or inparallel with different instances of the same or similar steps/acts. Thescope of the present application is, therefore, indicated by theappended claims rather than by the foregoing description. All changesthat come within the meaning and range of equivalency of the claims areto be embraced within their scope.

What is claimed is:
 1. In a digital medium environment for viewing andrevising virtual-reality audio visual content, a computer-implementedmethod for facilitating editing of the virtual-reality content in avirtual-reality environment, the method comprising: providing avirtual-reality display of a virtual-reality content item via avirtual-reality device; providing an editing interface over a portion ofthe virtual-reality display of the virtual-reality content item, theediting interface comprising a plurality of controls for implementingand previewing edits to the virtual-reality content item; detecting aselection of a control from the plurality of controls from the editinginterface; modifying, in real-time, the virtual-reality display of thevirtual-reality content item in response to detecting the selection ofthe control; receiving a confirmation of an edit to perform to thevirtual-reality content item; and generating a revised virtual-realitycontent item in response to receiving the confirmation of the edit. 2.The method of claim 1, wherein providing the virtual-reality display ofthe virtual-reality content item comprises providing a displayed portionof the virtual-reality content item within a field of view of thevirtual-reality device and a peripheral portion of the virtual-realitycontent item outside the field of view of the virtual-reality device. 3.The method of claim 2, wherein the peripheral portion of thevirtual-reality content item is viewable via movement of thevirtual-reality device.
 4. The method of claim 1, wherein providing theediting interface over the portion of the virtual-reality displaycomprises providing the editing interface within a field of view of thevirtual-reality device irrespective of movement or an orientation of thevirtual-reality device.
 5. The method of claim 4, further comprising, inresponse to detecting movement of the virtual-reality device, modifyingthe portion of the virtual-reality content item in the field of view ofthe virtual-reality device without modifying a position of the editinginterface within the field of view of the virtual-reality device.
 6. Themethod of claim 1, wherein detecting the selection of the controlcomprises detecting a selection of an alignment control to align a lastframe of a first video clip with a first frame of a second video clip ata transition from the first video clip to the second video clip.
 7. Themethod of claim 6, wherein modifying the virtual-reality display of thevirtual-reality content item comprises providing a first preview of thefirst video clip and a second preview of the second video clip withinthe field of view of the virtual-reality device with an indication of anorientation of the last frame and an orientation of the first frame atthe transition.
 8. The method of claim 7, wherein: receiving theconfirmation of the edit to perform to the virtual-reality content itemcomprises receiving user input with respect to the first previewindicating a rotation of the first video clip relative to the secondvideo clip; and generating the revised virtual-reality content itemcomprises reorienting a true north of the first video clip with respectto the second video clip so as to change the orientation of the lastframe for the first video clip at the transition.
 9. The method of claim8, wherein receiving the user input with respect to the first previewcomprises detecting a horizontal rotation of the virtual-reality devicewhile the first preview is selected.
 10. The method of claim 1, wherein:detecting the selection of the control from the plurality of controlscomprises detecting a scrolling action; and modifying thevirtual-reality display of the virtual-reality content item comprisesnarrowing a field of view of the virtual-reality display.
 11. The methodof claim 10, wherein narrowing the field of view comprises narrowing thefield of view based on a scrolling speed of the detected scrollingaction.
 12. The method of claim 10, wherein narrowing the field of viewcomprises narrowing the field of view based on detected movement of oneor more objects within the virtual-reality display.
 13. The method ofclaim 10, wherein narrowing the field of view comprises displaying abackground that obstructs an outer portion of the virtual-realitydisplay.
 14. The method of claim 1, wherein: detecting the selection ofthe control from the plurality controls comprises detecting an additionof a graphic to the virtual-reality display; and modifying thevirtual-reality display of the virtual-reality content item comprisesdisplaying the graphic over a portion of the virtual-reality display.15. In a digital medium environment for viewing and revisingvirtual-reality audio visual content, a computer-implemented method forfacilitating editing of the virtual-reality audio visual content in avirtual-reality environment, the method comprising: providing avirtual-reality display of a virtual-reality content item via avirtual-reality device; providing an editing interface over a portion ofthe virtual-reality display of the virtual-reality content item, theediting interface comprising a plurality of controls for implementingand previewing edits to the virtual-reality content item; detecting aselection of a control from the plurality of controls from the editinginterface; and a step for manipulating the display of thevirtual-reality content item in response to the selection of thecontrol.
 16. The method of claim 15, wherein the step for manipulatingthe display of the virtual-reality content item comprises: providing afirst preview of a first video clip of the virtual-reality content itemover the virtual-reality display; providing a second preview of a secondvideo clip of the virtual-reality content item over the virtual-realitydisplay; detecting a user input with respect to the first preview of thefirst video clip indicating a rotation of the first video clip relativeto the second video clip; and generating a revised virtual-realitycontent item comprising a reoriented portion of the virtual-realitycontent item corresponding to the first video clip.
 17. The method ofclaim 15, wherein detecting the selection of the control comprisesdetecting a scrolling action, and wherein the step for manipulating thedisplay of the virtual-reality content item comprises: determining amotion of one or more objects within the virtual-reality display of thevirtual-reality content item; determining a scroll rate of the scrollingaction; and narrowing a field of view of the virtual-reality display ofthe virtual-reality content item based on the determined motion of oneor more objects and the determined scroll rate of the scrolling action.18. A system comprising: memory comprising a virtual-reality contentitem; a virtual-reality device; and a computing device comprisinginstructions thereon that, when executed by the computing device, causethe system to: provide the virtual-reality content item for display viathe virtual-reality device; cause the virtual-reality device to displayan editing interface over a portion of the virtual-reality display ofthe virtual-reality content item, the editing interface comprising aplurality of controls for implementing and previewing edits to thevirtual-reality content item; detect a selection of a control from theplurality of controls from the editing interface; modify, in real-time,the virtual-reality display of the virtual-reality content item contentitem in response to detecting the selection of the control; receive aconfirmation of an edit to perform to the virtual-reality content item;and generate a revised virtual-reality content item in response toreceiving the confirmation of the edit.
 19. The system of claim 18,wherein the instructions, when executed by the computing device, causethe system to: provide, via the virtual-reality device, a last frame ofa first video clip positioned above a first frame of a second video clipof the virtual-reality content item; indicate a field of view of thelast frame at a transition of the first video clip to the second videoclip; and indicate a field of view of the first frame at the transitionof the first video clip to the second video clip; rotate, in response touser input, the field of view of one or more of the first frame or thesecond frame; and generate the revised virtual-reality content item byreorienting the field of view of one or more of the first frame or thesecond frame at the transition to correspond to the rotated field ofviews.
 20. The system of claim 18, wherein: a scrubbing control; and theinstructions further cause the computing device to: determine a motionof one or more objects within the virtual-reality display of thevirtual-reality content item; determine a scroll rate of the scrollingaction; and modify the virtual-reality display of the virtual-realitycontent item by narrowing a field of view of the virtual-reality displayof the virtual-reality content item based on the determined motion ofone or more objects and the determined scroll rate of the scrollingaction.